const Promise = require('./3.promise')
let p = new Promise(function(resolve, reject) {
  // reject()
  setTimeout(function(){
    resolve(1000)
  }, 1000)
})
let p1 = p.then( value => {
  console.log('val', value)
  // 循环引用 因为自己永远不会完成
  // return new Promise(function(resolve, reject) {
  //   resolve(1000)
  // })
  return value + 2000
}).then(data => {
  // 如果返回的结果 和 p1 相等， 返回循环引用
  console.log('p1-->', data)
}, err => {
  console.log(err)
})

// then执行后应该返回一个新的promise
// 因为promise的状态 一旦失败就不能再成功了
// Promise.reject().then(null, (reason) => {
//   return 100
// }).then(data => {
//   console.log('data', data)
// }, err =>{
//   console.log('err', err)
// })